package com.koron.plan.web.patrollineplan.bean.po;

import com.koron.bean.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 线路巡视计划(PlanLinePatrol)表实体类
 *
 * @author jzp
 * @since 2022-11-24
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value="线路巡视计划", description = "PlanLinePatrol")
public class PlanLinePatrol extends BaseBean {

    /**
     * 编码,{标识码}{单位缩写}{YYYYMMDD}{流水号}，eg:XSTY20210923001
     */
    @ApiModelProperty("编码,{标识码}{单位缩写}{YYYYMMDD}{流水号}，eg:XSTY20210923001")
    private String code;

    /**
     * 计划名称
     */
    @ApiModelProperty("计划名称")
    private String name;

    /**
     * 巡视类别：厂站、线路、分水点
     */
    @ApiModelProperty("巡视类别：厂站、线路、分水点")
    private String patrolCategory;

    /**
     * 计划类型：定期、特殊 plan_patrol_category
     */
    @ApiModelProperty("计划类型：定期、特殊 plan_patrol_category")
    private String planCategory;

    /**
     * 巡视方式：现场巡视、视频巡视 plan_patrol_way
     */
    @ApiModelProperty("巡视方式：现场巡视、视频巡视 plan_patrol_way")
    private String planPatrolWay;

    /**
     * 计划所属部门，默认跟创建单位相同
     */
    @ApiModelProperty("计划所属部门，默认跟创建单位相同")
    private String planDeptId;

    /**
     * 计划所属部门名称，默认跟创建单位相同
     */
    @ApiModelProperty("计划所属部门名称，默认跟创建单位相同")
    private String planDeptName;

    /**
     * 巡视单位
     */
    @ApiModelProperty("巡视单位")
    private String patrolDeptId;

    /**
     * 巡视单位名称
     */
    @ApiModelProperty("巡视单位名称")
    private String patrolDeptName;

    /**
     * 人员安排方式：值班长+值班员、值班员、值守、默认指定
     */
    @ApiModelProperty("人员安排方式：值班长+值班员、值班员、值守、默认指定")
    private String staffingWay = "appoint";

    /**
     * 值班地点，弃用
     */
    @ApiModelProperty("值班地点，弃用")
    private String locationId;

    /**
     * 签到方式：GPS、无
     */
    @ApiModelProperty("签到方式：GPS、无")
    private String arriveWay;

    /**
     * 完成时必须签名 是：1 否：0
     */
    @ApiModelProperty("完成时必须签名 是：1 否：0")
    private Integer mustSign;

    /**
     * 准备工作，弃用
     */
    @ApiModelProperty("准备工作，弃用")
    private String readyWork;

    /**
     * 定时下达 是：1 否：0
     */
    @ApiModelProperty("定时下达 是：1 否：0")
    private Integer isTimer;

    /**
     * 提前下达 单位：小时
     */
    @ApiModelProperty("提前下达 单位：小时")
    private Double advanceHours;

    /**
     * 巡视时长 单位：小时
     */
    @ApiModelProperty("巡视时长 单位：小时")
    private Double patrolDuration;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 计划状态
     */
    @ApiModelProperty("计划状态")
    private Integer state;

}
